package com.lovo.dao;

import com.lovo.dto.ClassDTO;
import com.lovo.dto.StudentDTO;
import com.lovo.model.ClassDO;
import com.lovo.model.StudentDO;

import java.util.List;

/**
 * @title 班级持久层接口
 * @author: luo
 * @date: 2020/11/21 21:14
 */
public interface ClassDAO {

    /**
     * 查询所有的班级，并且携带班级下所有的学生集合
     * @return
     */
    List<ClassDTO> findAllStudentAndClass();

    /**
     * 添加班级
     * @param classDO 班级对象
     * @return
     */
    int addClass(ClassDO classDO);

    /**
     * 按班级id删除班级
     * @param classId
     * @return
     */
    int deleteClass(Integer classId);

    /**
     * 按班级编号查找班级，并且携带该班级下所有的学生集合
     * @param classId 班级id
     * @return
     */
    ClassDTO findClassById(Integer classId);

    /**
     * 修改班级
     * @param classDTO
     * @return
     */
    int updateClass(ClassDTO classDTO);

    /**
     * 按班级编号查询该班级下的学生集合
     * @param classId
     * @return
     */
    List<StudentDO> findStudentByClassId(Integer classId);


}
